import {CityInfo, DistrictInfo} from "@/types/geo.ts";

/**
 * 天气数据
 */
export type WeatherForecast = {
    /**
     * 白昼天气
     */
    text_day: string;
    /**
     * 夜晚天气
     */
    text_night: string;
    /**
     * 最高温度
     */
    high: number;
    /**
     * 最低温度
     */
    low: number;
    /**
     * 白昼风级
     */
    wc_day: string;
    /**
     * 夜晚风级
     */
    wc_night: string;
    /**
     * 白昼风向
     */
    wd_day: string;
    /**
     * 夜晚风向
     */
    wd_night: string;
    /**
     * 日期
     */
    date: string;
    /**
     * 星期
     */
    week: string;
}

/**
 * 今日天气数据
 */
export type WeatherLocal = {
    /**
     * 天气现象
     */
    text: string;
    /**
     * 温度
     */
    temp: number;
    /**
     * 体感温度
     */
    feels_like: number;
    /**
     * 相对湿度
     */
    rh: number;
    /**
     * 风力等级
     */
    wind_class: string;
    /**
     * 风向描述
     */
    wind_dir: string;
    /**
     * 更新时间
     */
    uptime: string;
}


/**
 * 省会城市天气预报数据
 */
export type WeatherCapitalForecast = {
    /**
     * 区县信息 (只到市区)
     */
    location: CityInfo;
    /**
     * 未来天气
     */
    forecasts: WeatherForecast[];
}


/**
 * 城市天气预报数据
 */
export type WeatherAll = {
    /**
     * 区县信息
     */
    location: DistrictInfo;
    /**
     * 今日天气
     */
    now: WeatherLocal;
    /**
     * 未来天气
     */
    forecasts: WeatherForecast[];
}

/**
 * 省会城市天气实况小时数据
 */
export type WeatherHours = {
    /**
     * 区县信息 (只到市区)
     */
    location: DistrictInfo;
    /**
     * 实况天气
     */
    now: WeatherLocal;
}